关于#include "stdafx.h"的问题,

来源:百度知道 编辑:UC知道 时间:2024/05/31 03:03:10
调试时总是出现这样的错误,怎么解决?'stdafx.h'文件在哪?谢谢!
我的工程是:win32 console application 在CPP文件中的代码如下:这个是操作系统的进程调度的代码,是上网找来的。
#include "stdafx.h"
#include"iostream.h"
const m=100;
struct node{
int data1;//到达时间;
int data2;//完成时间;
int length;//作业长度;
}a[m];
int i=0;
void push(int d1,int d2,int l)
{

a[i].data1=d1;
a[i].data2=d2;
a[i].length=l;
i++;
}
int pop(int j)
{
int y;
if(j>=m)
return 0;
y=a[j].data2-a[j].data1;
a[j+1].data2+=a[j].data2;
cout< return 1;
}
void f()
{
int j,k;node t;
for(j=0;j for(k=0;k if(a[k].length>a[k+1].length)
{
t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
}
void main()
{
int x,y,d1,d2,l1,k;
cout<<"输入进程个数:";
cin>>k;
if(k for(x=0;x {
cin>>d1>>d2>>l1;
push(d1,d2,l1);
}
f();
for(y=0;y

说实话,以下内容是拷贝来的,简单点说,stdafx.h文件是作为Visual Studio编译32位的程序时固定创建的一个头文件,也就是你可以自己写一个来用。网上的代码不可能把这些小地方也拷贝上去。如果不太清楚内容的话可以先新建一个win32 console application 工程,把里面Visual Studio创建的stdafx.h文件拷贝过来就行了。。。

-------------------------------------------------------
Standard Application Fram Extend
没有函数库,只是定义了一些环境参数,使得编译出来的程序能在32位的操作系统环境下运行。

Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。由于每个.CPP文件都包含相同的include文件,为每个.CPP文件都重复处理这些文件就显得很傻了。
为避免这种浪费,AppWizard和VisualC++编译程序一起进行工作,如下所示:
◎AppWizard建立了文件stdafx.h,该文件包含了所有当前工程文件需要的MFCinclude文件。且这一文件可以随被选择的选项而变化。
◎AppWizard然后就建立stdafx.cpp。这个文件通常都是一样的。
◎然后AppWizard就建立起工程文件,这样第一个被编译的文件就是stdafx.cpp。
◎当VisualC++编译stdafx.cpp文件时,它将结果保存在一个名为stdafx.pch的文件里。(扩展名pch表示预编译头文件。)
◎当VisualC++编译随后的每个.cpp文件时,它阅读并使用它刚生成的.pch文件。VisualC++不再分析Windowsinclude文件,除非你又编缉了stdafx.cpp或stdafx.h。
这个技术很精巧,你不这么认为吗?(还要说一句,Microsoft并非是首先采用这种技术的公司,Borland才是。)在这个过程中你必须遵守以下规则:
◎你编写的任何.cpp文件都必须首先包含stdafx.h。